Method for artificially reproducing an output signal of a non-linear time invariant system

ABSTRACT

A method for artificially reproducing an output signal of a non-linear time invariant system includes the steps of inserting an input signal of exponential sine sweep type in the non-linear time invariant system, acquiring an output signal of the non-linear time invariant system corresponding to the input signal, obtaining a mathematical function that characterizes the non-linear time invariant system on the basis of the output signal and applying the mathematical function to a further signal to obtain a still further signal which reproduces the output signal that would be obtained from the non-linear time invariant system if it were driven by the further signal.

The invention relates to a method for reproducing an output signal of a non-linear time invariant system, in particular a method used for example for artificially reproducing a particular acoustic effect going close to the real one. Such acoustic effect can be, for example, the sound that can produce a sound chest of a particular musical instrument when it is played or a sound amplified by a non-linear amplifier such as a tube amplifier.

Each of the aforesaid systems, namely a sound chest of a musical instrument or a tube amplifier, or the sound produced by combinations of the aforesaid systems, is a non-linear system. As a result, each of the aforesaid systems modifies the input signals sent, so the corresponding output signals are distorted with respect the respective input signals. This means that the output signal has different frequency components compared to the input signal. In particular, the output signal may have a plurality of harmonics at frequencies that are different the one from each other and different from the frequency/frequencies of the input signal, even if the input signal has only one component at fundamental frequency.

The harmonic distortions introduced by each system characterize the sound generated by each system, making the sound unique and recognizable among others. This means that each sound generated by a system differs from the sound generated by another system because of its harmonic content. It follows that a system is distinguished from another one because of the harmonic distortions it introduces in the sound produced by the system.

A distorting system can be an overdrive device that makes possible, by suitable amplifying means, to amplify an audio signal until the amplifier is in a saturation condition, generating an overloaded and distorted output signal.

Another distorting system can be a device that modifies the wave form of an audio signal sent to the input thereof, for example by subjecting it to a squaring process. It follows that the output audio signal is distorted compared to the input.

The overdrive devices and distorting devices used in the musical field, for example associated to an electrical guitar, intentionally reproduce distorting signals, by introducing in the spectrum of an output audio signal from the device, additional harmonics which are not present in the corresponding input audio signal from the overdrive device and/or the distorting device.

Methods for artificially reproducing in a faithful manner an output signal of a non-linear time invariant system, such as for example the sound of a particular specimen musical instrument, are not known.

An object of the invention is to give a method for artificially reproducing an output signal of a non-linear time invariant system, such as for example the sound of a particular specimen instrument.

Another object is to obtain a method for artificially reproducing, economically, the output signal of a non-linear time invariant system, such as a tube amplifier that is typically very expensive.

According to the invention there is provided a method as defined in claim 1.

Owing to the invention, it is possible to reproduce by means of a data processing device the output signal from a non-linear system, in particular an audio signal produced by a particular musical instrument.

The invention can be understood and implemented better with reference to the attached drawings that illustrate some embodiments thereof by way of non-limiting example, in which:

FIG. 1 is a scheme of a non-linear time invariant system;

FIG. 2 is a scheme showing a model (Hammerstein model) that represents the non-linear time invariant system in FIG. 1;

FIG. 3 is the spectrogram in linear scale of an input signal of the non-linear time invariant system, when such input signal is a signal of the exponential sine sweep type;

FIG. 4 is the spectrogram like the one in FIG. 3 using a logarithmic scale;

FIG. 5 is the spectrogram in linear scale of an output signal of a non-linear time invariant system when the input signal is a signal of the exponential sine sweep type;

FIG. 6 is the spectrogram like the one in FIG. 5 using a logarithmic scale;

FIG. 7 is the spectrogram of the inverse of a signal of the exponential sine sweep type in logarithmic scale;

FIG. 8 is the spectrogram of the inverse convolution of a non-linear time invariant system subjected to an exponential sine sweep;

FIG. 9 is a diagram of the inverse convolution of a non-linear time invariant system subjected to an exponential sine sweep;

FIG. 10 is the reproduction of a spectrogram of an output signal of the non-linear time invariant system, when an input signal of the exponential sine sweep type is sent to it;

FIG. 11 shows the amplitude diagram of the frequency response of a signal of the Dirac Delta type and its waveform;

FIG. 12 shows how the problems relating to the phase deteriorates a Dirac Delta signal;

FIG. 13 shows the result of an emulation of a non-linear time invariant system without considering the phase problems;

FIG. 14 shows the impulse response of a FIR filter that is able to correct the phase problems once it is applied to the signal in FIG. 12;

FIG. 15 and FIG. 16 shows the achieved results once the phase problems have been corrected.

With reference to FIG. 12, a non-linear time invariant system 1 is schematically shown with a rectangle, the system having an input signal and an output signal, that are for example audio signals, expressed, in the time domain, as x(t) and y(t) respectively.

For the linear system the following relation applies:

y(t)=h(t)

x(t)=∫_(−∞) ^(+∞) h(τ)x(t−τ)dτ  (1)

that defines the so called convolution between the input signal x(t) and the impulse response h(t) in the time domain, in which the symbol

identifies the convolution operator.

A non-linear time invariant system with memory, such as for example the sound chest of a musical instrument, for example that of a violin, can be modeled by Volterra series:

$\begin{matrix} {{y(t)} = {{h_{0} + {\sum\limits_{n = 1}^{+ \infty}\; {\frac{1}{n!}{\int_{- \infty}^{+ \infty}{\ldots \mspace{14mu} {\int_{- \infty}^{+ \infty}{{h_{n}\left( {\tau_{1},\tau_{2},\ldots \mspace{14mu},\tau_{n}} \right)}{x\left( {t - \tau_{1}} \right)}{x\left( {t - \tau_{2}} \right)}\mspace{14mu} \ldots \mspace{14mu} {x\left( {t - \tau_{n}} \right)}{\tau_{1}}{\tau_{2}}\mspace{14mu} \ldots \mspace{14mu} {\tau_{n}}}}}}}}} = {h_{0} + {\frac{1}{1!}{\int_{- \infty}^{+ \infty}{{h_{1}\left( \tau_{1} \right)}{x\left( {t - \tau_{1}} \right)}\ {\tau_{1}}}}} + {\frac{1}{2!}{\int_{- \infty}^{+ \infty}{\int_{- \infty}^{+ \infty}{{h_{2}\left( {\tau_{1},\tau_{2}} \right)}{x\left( {t - \tau_{1}} \right)}{x\left( {t - \tau_{2}} \right)}\ {\tau_{1}}\ {\tau_{2}}}}}} + {\frac{1}{3!}{\int_{- \infty}^{+ \infty}{\int_{- \infty}^{+ \infty}{\int_{- \infty}^{+ \infty}{{h_{3}\left( {\tau_{1},\tau_{2},\tau_{3}} \right)}{x\left( {t - \tau_{1}} \right)}{x\left( {t - \tau_{2}} \right)}{x\left( {t - \tau_{3}} \right)}\ {\tau_{1}}\ {\tau_{2}}\ {\tau_{3}}}}}}} + \ldots}}} & (2) \end{matrix}$

where the terms h_(n)(τ₁, τ₂, . . . , τ_(n)) are the so called n-th order kernels of the Volterra series expansion.

By knowing the kernels value it is thus possible to obtain the value of the output signal y(t) for a given input signal x(t).

Assuming that the memory effects reside in the linear part of the system and that the nonlinearities of the system are purely algebraic, the non-linear system 1 can be simplified in the series of two systems: a non-linear time invariant system without memory and a linear time invariant system with memory. The output signal y(t) of such model (Hammerstein model) applies and is reported schematically in FIG. 2:

$\begin{matrix} \begin{matrix} {{y(t)} = {\int_{- \infty}^{+ \infty}{{h(\tau)}{w\left( {t - \tau} \right)}\ {\tau}}}} \\ {= {\int_{- \infty}^{+ \infty}{{h(\tau)}\left( {a_{0} + {\sum\limits_{n = 1}^{+ \infty}\; {a_{n}\left\lbrack {x\left( {t - \tau} \right)} \right\rbrack}^{n}}} \right)\ {\tau}}}} \\ {= {{\int_{- \infty}^{+ \infty}{a_{0}{h(\tau)}{\tau}}} + {\sum\limits_{n = 1}^{+ \infty}\; {\int_{- \infty}^{+ \infty}{a_{n}{{h(\tau)}\left\lbrack {x\left( {t - \tau} \right)} \right\rbrack}^{n}\ {\tau}}}}}} \\ {= {h_{0} + {{h_{1}(t)} \otimes {x(t)}} + {{h_{2}(t)} \otimes \left\lbrack {x(t)} \right\rbrack^{2}} + {{h_{3}(t)} \otimes \left\lbrack {x(t)} \right\rbrack^{3}} + \ldots}} \end{matrix} & (3) \end{matrix}$

wherein w(t) is the output signal of the non-linear purely algebraic part and therefore it can be substituted with the expression a₀+Σ_(n=1) ^(+∞)a_(n)[x(t)]^(n).

The Hammerstein model equals a particular case of the Volterra series expansion, called Volterra diagonal model, in which for each kernel only the values when t₁=t₂= . . . =t_(n) differ from zero.

The more the Volterra diagonal model follows the real system the more the reproduction of the output signal from the non-linear system will be faithful, for example the reproduction of the sound produced by a specific musical instrument.

In order to characterize the non-linear time invariant system 1 it is necessary to obtain the kernel values of the Volterra series expansion, thus to define the non-linear features of the non-linear time invariant system 1. In other words obtaining the kernel values of the Volterra series expansion it is possible to get the mathematical function that characterizes the system. In order to obtain the kernel values the same procedure must be followed for calculating the impulse response with the measurement technique based on the exponential sine sweep of a linear time invariant system, in the way will be better explained further on.

The method for reproducing an output signal from the non-linear time invariant system 1 uses a measurement technique of the impulse response of a linear system that uses as input signal x(t) a signal of the sine sweep type, i.e. a sine signal with frequency that varies from a starting frequency f₀ to a final frequency f₁ in T seconds.

The input signal x(t) thus is:

x(t)=sin(2πg(t))  (4)

in which g(t) is a function defined as the integral of a function of the exponential type f(t) that has the following formula:

$\begin{matrix} {{f(t)} = {^{\gamma_{0} + {\frac{\gamma_{1} - \gamma_{0}}{T}t}} = {^{\gamma_{0}}^{{({\gamma_{1} - \gamma_{0}})}\frac{t}{T}}}}} & (5) \end{matrix}$

Assuming that at t=0 the starting frequency f₀ is:

f(0)=e ^(γ) ⁰ =f ₀

and that at t=T the frequency f₁ is:

f(T)=e ^(γ) ⁰ e ^((γ) ¹ ^(−γ) ⁰ ⁾ =f ₀ e ^((γ) ¹ ^(−γ) ⁰ ⁾ =f

we obtain:

$^{({\gamma_{1} - \gamma_{0}})} = {\frac{f_{1}}{f_{0}} = {\left. ^{l\; {n{(\frac{f_{1}}{f_{0}})}}}\Rightarrow{\gamma_{1} - \gamma_{0}} \right. = {\ln \left( \frac{f_{1}}{f_{0}} \right)}}}$

Replacing in the equation (5) gives that f(t) is:

$\begin{matrix} {{f(t)} = {f_{0}^{\frac{t}{T}l\; {n{(\frac{f_{1}}{f_{0}})}}}}} & (6) \end{matrix}$

Integrating f(t) gives the value of g(t), i.e.:

$\begin{matrix} {{g(t)} = {{\frac{f_{0}T}{\ln \left( \frac{f_{1}}{f_{0}} \right)}^{\frac{t}{T}l\; {n{(\frac{f_{1}}{f_{0}})}}}} + \theta}} & (7) \end{matrix}$

Setting:

$\theta = {- \frac{f_{0}T}{\ln \left( \frac{f_{1}}{f_{0}} \right)}}$ $f_{0} = \frac{\omega_{0}}{2\pi}$ $f_{1} = \frac{\omega_{1}}{2\pi}$

the value of the input signal x(t), which is the equation defining the sine sweep, is:

$\begin{matrix} {{x(t)} = {\sin\left( {\frac{\omega_{0}T}{\ln \left( \frac{\omega_{1}}{\omega_{0}} \right)}\left( {^{\frac{t}{T}l\; {n{(\frac{\omega_{1}}{\omega_{0}})}}} - 1} \right)} \right)}} & (8) \end{matrix}$

In which the value of the starting phase θ has been chosen so that x(0)=0;

FIGS. 3 and 4 show, respectively, the spectrograms of the input signal x(t) of the non-linear time invariant system 1 in linear and in logarithmic scale, when the input signal x(t) is a signal of the sine sweep type.

FIGS. 5 and 6 show, respectively, in linear and logarithmic scale the spectrograms of the output signal y(t) of the non-linear time invariant system 1 when the input signal x(t) of the non-linear time invariant system 1 is a signal of the exponential sine sweep ss(t) type.

A well known feature of the signal of the linear sine sweep type is that its reverse reproduction is also its “inverse”: defining as “inverse” of the waveform x(t) that waveform x(t) for which is valid x(t)

x(t)=δ(t−t₀), in which t₀ is a delay. In the case of exponential sine sweep as the spectrum is pink, i.e. with a fall of 3 dB every octave, once the reverse reproduction has been obtained it is necessary to equalize it in order to obtain a spectrum with a rise of 3 dB for every octave: this is the “inverse” signal of the exponential sine sweep.

Convolving a ss(t) of length T with its equalized reverse reproduction there is thus obtained a time-delayed Dirac Delta, i.e.:

ss(t)

ss(T−t)=ss(t)

ss(t)≅δ(t−T)

0≦t≦T  (9)

The approximation is due to the fact that each sine sweep signal covers only a part of the frequency spectrum, that, for example in the acoustic field, is the part comprised between a starting frequency f₀=20 Hz and a final frequency f₁=20 kHz that are the ends of the human audible frequency range.

FIG. 7 shows the spectrogram of the inverse of a signal of the sine sweep type, whilst FIG. 8 shows the spectrogram of a signal representing the inverse convolution of the output of a non-linear time invariant system subjected to an exponential sine sweep. This latter graph is composed by a plurality of lines mutually parallel, which in a time-frequency plot are parallel with the frequency axis.

It is possible to find a relationship between these vertical lines and the kernels of the Volterra diagonal model.

With reference to FIG. 10 that shows a spectrogram of an output signal of a non-linear time invariant system when an input signal of the exponential sine sweep type is sent therein, the distance Δt_(N) between the right most line and the others (that are numbered from right to left), which remains unchanged also after the inverse convolution of the signal, represents the delay that the sine sweep signal uses to multiply n times its own instantaneous frequency f(t*). Starting from (6), we obtain:

$\begin{matrix} {{{\Delta \; t_{N}} = {\left( {\ln \mspace{14mu} N} \right)\frac{T}{\ln \left( \frac{f_{1}}{f_{0}} \right)}}}{with}{N \geq 2}} & (10) \end{matrix}$

since:

f(t_(*) + Δ t_(N)) = Nf(t_(*)) ${f_{0}^{\frac{t_{*} + {\Delta \; t_{N}}}{T}l\; {n{(\frac{f_{1}}{f_{0}})}}}} = {{Nf}_{0}^{\frac{t_{*}}{T}l\; {n{(\frac{f_{1}}{f_{0}})}}}}$ $^{\frac{\Delta \; t_{N}}{T}l\; {n{(\frac{f_{1}}{f_{0}})}}} = N$ $^{\frac{\Delta \; t_{N}}{T}l\; {n{(\frac{f_{1}}{f_{0}})}}} = ^{l\; n\mspace{14mu} N}$ ${\frac{\Delta \; t_{N}}{T}{\ln \left( \frac{f_{1}}{f_{0}} \right)}} = {\ln \mspace{14mu} N}$

Considering that Δt_(N) is referred to the most right impulse, which is at t=T, from (10) we also obtain:

$t_{N} = {{T - {\Delta \; t_{N}}} = {T\left( {1 - \frac{\ln \mspace{14mu} N}{\ln \left( \frac{f_{1}}{f_{0}} \right)}} \right)}}$ with N ≥ 1

If the input signal x(t) of the linear time invariant system 1 is a signal ss(t) of the exponential sine sweep type [that is ss(ω(t)), in order to better underline that the frequency depends on the time] having the frequency which ranges from the starting value f₀ to a final frequency f₁ during T seconds, considering the (3) we will obtain:

$\quad\left\{ \begin{matrix} {{y(t)} = {h_{0} + {{h_{1}(t)} \otimes {x(t)}} + {{h_{2}(t)} \otimes {x^{2}(t)}} + \ldots + {{h_{n}(t)} \otimes {x^{n}(t)}}}} & {\alpha \; \in } \\ {{x(t)} = {\alpha \; {{ss}\left( {\omega (t)} \right)}}} & \; \end{matrix} \right.$

and therefore:

y(t)=h ₀ +h ₁(t)

αss(ω(t))+h ₂(t)

α² ss ²(ω(t))+ . . . +h _(n)(t)

α″ss″(ω(t))  (11)

Where a is a multiplicative term that allows a signal of any amplitude to be handled in the mathematical formulation (the amplitude of ss(ω(t)) is in fact equal to 1).

(11) can be rewritten in the following way considering the trigonometric identities and considering the expansion limited to the 5th order:

$\begin{matrix} {{y(t)} \cong {h_{0} + {\alpha \; {{h_{1}(t)} \otimes {{ss}\left( {\omega (t)} \right)}}} + {\alpha^{2}{{h_{2}(t)} \otimes \left( {\frac{1}{2} - {\frac{1}{2}{{cs}\left( {2{\omega (t)}} \right)}}} \right)}} + {\alpha^{3}{{h_{3}(t)} \otimes \left( {{\frac{3}{4}{{ss}\left( {\omega (t)} \right)}} - {\frac{1}{4}{{ss}\left( {3{\omega (t)}} \right)}}} \right)}} + {\alpha^{4}{{h_{4}(t)} \otimes \left( {\frac{3}{8} - {\frac{1}{2}{{cs}\left( {2{\omega (t)}} \right)}} + {\frac{1}{8}{{cs}\left( {4\omega \; (t)} \right)}}} \right)}} + {\alpha^{5}{{h_{5}(t)} \otimes \left( {{\frac{5}{8}{{ss}\left( {\omega (t)} \right)}} - {\frac{5}{16}{{ss}\left( {3{\omega (t)}} \right)}} + {\frac{1}{16}{{ss}\left( {5{\omega (t)}} \right)}}} \right)}}}} & (12) \end{matrix}$

where cs(ω(t)) is a signal of the cosine sweep type, which is equivalent to a sine sweep signal with phase delay of

$\frac{\pi}{2}.$

Collecting similar terms, we obtain:

${y(t)} \cong {\left( {h_{0} + {\alpha^{2}{{h_{2}(t)} \otimes \frac{1}{2}}} + {\alpha^{4}{{h_{4}(t)} \otimes \frac{3}{8}}}} \right) + {\left( {{\alpha \; {h_{1}(t)}} + {\frac{3}{4}\alpha^{3}{h_{3}(t)}} + {\frac{5}{8}\alpha^{5}{h_{5}(t)}}} \right) \otimes {{ss}\left( {\omega (t)} \right)}} + {\left( {{{- \frac{1}{2}}\alpha^{2}{h_{2}(t)}} - {\frac{1}{2}\alpha^{4}{h_{4}(t)}}} \right) \otimes {{cs}\left( {2{\omega (t)}} \right)}} + {\left( {{{- \frac{1}{4}}\alpha^{3}{h_{3}(t)}} - {\frac{5}{16}\alpha^{5}{h_{5}(t)}}} \right) \otimes {{ss}\left( {3{\omega (t)}} \right)}} + {\frac{1}{8}\alpha^{4}{{h_{4}(t)} \otimes {{cs}\left( {4{\omega (t)}} \right)}}} + {\frac{1}{16}\alpha^{5}{{h_{5}(t)} \otimes {{ss}\left( {5{\omega (t)}} \right)}}}}$

Convolving the output signal y(t) with the inverse of the signal ss(ω(t)), we obtain:

$\begin{matrix} {{{y(t)} \otimes \overset{\_}{{ss}\left( {\omega (t)} \right)}} \cong {{{A(t)} \otimes \overset{\_}{{ss}\left( {\omega (t)} \right)}} + {{B(t)} \otimes {{ss}\left( {\omega (t)} \right)} \otimes \overset{\_}{{ss}\left( {\omega (t)} \right)}} + {{C(t)} \otimes {{cs}\left( {2{\omega (t)}} \right)} \otimes \overset{\_}{{ss}\left( {\omega (t)} \right)}} + {{D(t)} \otimes {{ss}\left( {3{\omega (t)}} \right)} \otimes \overset{\_}{{ss}\left( {\omega (t)} \right)}} + {{E(t)} \otimes {{cs}\left( {4{\omega (t)}} \right)} \otimes \overset{\_}{{ss}\left( {\omega (t)} \right)}} + {{F(t)} \otimes {{ss}\left( {5{\omega (t)}} \right)} \otimes \overset{\_}{{ss}\left( {\omega (t)} \right)}}}} & (13) \end{matrix}$

where:

$\begin{matrix} \left\{ \begin{matrix} {{A(t)} = {h_{0} + {\alpha^{2}{{h_{2}(t)} \otimes \frac{1}{2}}} + {\alpha^{4}{{h_{4}(t)} \otimes \frac{3}{8}}}}} \\ {{B(t)} = {{\alpha \; {h_{1}(t)}} + {\frac{3}{4}\alpha^{3}{h_{3}(t)}} + {\frac{5}{8}\alpha^{5}{h_{5}(t)}}}} \\ {{C(t)} = {{{- \frac{1}{2}}\alpha^{2}{h_{2\;}(t)}} - {\frac{1}{2}\alpha^{4}{h_{4}(t)}}}} \\ {{D(t)} = {{{- \frac{1}{4}}\alpha^{3}{h_{3}(t)}} - {\frac{5}{16}\alpha^{5}{h_{5}(t)}}}} \\ {{E(t)} = {\frac{1}{8}\alpha^{4}{h_{4}(t)}}} \\ {{F(t)} = {\frac{1}{16}\alpha^{5}{h_{5}(t)}}} \end{matrix} \right. & (14) \end{matrix}$

A(t) is a constant term as well as the term A(t)* ss(ω(t)) that represents a DC offset, and can therefore be removed by using a filter of the high-pass type, since it is not relevant for the calculation of the kernels of Volterra series expansion. In order to obtain the kernels of the Volterra series expansion of the non-linear time invariant system 1, then the method provides for moving from time domain to frequency domain using the Fourier transforms. In particular, if X(ω) denotes the Fourier transform of ss(ω(t)), X(ω) the Fourier transform of the inverse of ss(ω(t)), for which is valid F⁻¹└X(ω) X(ω)┘=δ(t−t₁) and considering that if F[g(ω(t))]=G(ω), then

${F\left\lbrack {g\left( {a\; {\omega (t)}} \right)} \right\rbrack} = \frac{G\left( \frac{\omega}{a} \right)}{a}$

and that F[cs(ω(t))]=jF[ss(ω(t))]=jX(ω) (considering only the positive part of the signal spectrum), then, calculating the Fourier transform of (13) and removing the DC offset, we obtain:

$\begin{matrix} {{F\left\lbrack {{y(t)} \otimes \overset{\_}{{ss}\left( {\omega (t)} \right)}} \right\rbrack} \cong {{{B(\omega)}{X(\omega)}\overset{\_}{X(\omega)}} + {{C(\omega)}j\; \frac{X\left( \frac{\omega}{2} \right)}{2}\overset{\_}{X(\omega)}} + {{D(\omega)}\; \frac{X\left( \frac{\omega}{3} \right)}{3}\overset{\_}{X(\omega)}} + {{E(\omega)}j\; \frac{X\left( \frac{\omega}{4}\; \right)}{4}\overset{\_}{X(\omega)}} + {{F(\omega)}\frac{\; {X\left( \frac{\omega}{5} \right)}}{5}\overset{\_}{X(\omega)}}}} & (15) \end{matrix}$

where B(ω) . . . F(ω) represent the Fourier transform of B(t) . . . F(t). Since, due to the proprieties of the signals of the sine sweep type, it is:

$\quad\left\{ \begin{matrix} {{F^{- 1}\left\lbrack {{X(\omega)}\overset{\_}{X(\omega)}} \right\rbrack} \cong {\delta \left( {t - \tau_{1}} \right)}} \\ {{F^{- 1}\left\lbrack {\frac{X\left( \frac{\omega}{2} \right)}{2}\overset{\_}{X(\omega)}} \right\rbrack} \cong {\delta \left( {t - \tau_{2}} \right)}} \\ {{F^{- 1}\left\lbrack {\frac{X\left( \frac{\omega}{3} \right)}{3}\overset{\_}{X(\omega)}} \right\rbrack} \cong {\delta \left( {t - \tau_{3}} \right)}} \\ {{F^{- 1}\left\lbrack {\frac{X\left( \frac{\omega}{4} \right)}{4}\overset{\_}{X(\omega)}} \right\rbrack} \cong {\delta \left( {t - \tau_{4}} \right)}} \\ {{F^{- 1}\left\lbrack {\frac{X\left( \frac{\omega}{5} \right)}{5}\overset{\_}{X(\omega)}} \right\rbrack} \cong {\delta \left( {t - \tau_{5}} \right)}} \end{matrix} \right.$

then, calculating the inverse Fourier transform of (15), we obtain the following equation:

deconv(t) ≅ F⁻¹[B(ω)] * δ(t − τ₁) + F⁻¹[j C(ω)] * δ(t − τ₂) + F⁻¹[D(ω)] * δ(t − τ₃) + F⁻¹[j E(ω)] * δ(t − τ₄) + F⁻¹[F(ω)] * δ(t − τ₅)

that can be rewritten in the following way:

$\begin{matrix} {{{deconv}(t)} \cong {{k_{1}\left( {t - \tau_{1}} \right)} + {k_{2}\left( {t - \tau_{2}} \right)} + {k_{3}\left( {t - \tau_{3}} \right)} + {k_{4}\left( {t - \tau_{4}} \right)} + {k_{5}\left( {t - \tau_{5}} \right)}}} & (16) \end{matrix}$

Each term in the expression (16) represents one of the vertical lines in FIG. 9.

Starting from (14), we obtain the following system:

$\quad\left\{ \begin{matrix} {{K_{1}(\omega)} = {{B(\omega)} = {{\alpha \; {H_{1}(\omega)}} + {\frac{3}{4}\alpha^{3}{H_{3}(\omega)}} + {\frac{5}{8}\alpha^{5}{H_{5}(\omega)}}}}} \\ {{K_{2}(\omega)} = {{j\; {C(\omega)}} = {j\left( {{{- \frac{1}{2}}\alpha^{2}{H_{2}(\omega)}} - {\frac{1}{2}\alpha^{4}{H_{4}(\omega)}}} \right)}}} \\ {{K_{3}(\omega)} = {{D(\omega)} = {{{- \frac{1}{4}}\alpha^{3}{H_{3}(\omega)}} - {\frac{5}{16}\alpha^{5}{H_{5}(\omega)}}}}} \\ {{K_{4}(\omega)} = {{j\; {E(\omega)}} = {j\; \frac{1}{8}\alpha^{4}{H_{4}(\omega)}}}} \\ {{K_{5}(\omega)} = {{F(\omega)} = {\frac{1}{16}\alpha^{5}{H_{5}(\omega)}}}} \end{matrix} \right.$

where K_(i)(ω) represents the Fourier transform of k_(i)(t), that is the Fourier transform of a harmonic response, after the response has been isolated i.e. after having removed its delay.

Such system can be rewritten as:

$\quad\left\{ \begin{matrix} {{H_{1}(\omega)} = \frac{{K_{1}(\omega)} + {3{K_{3}(\omega)}} + {5{K_{5}(\omega)}}}{\alpha}} \\ {{H_{2}(\omega)} = \frac{{2j\; {K_{2}(\omega)}} + {8j\; {K_{4}(\omega)}}}{\alpha^{2}}} \\ {{H_{3}(\omega)} = \frac{{{- 4}{K_{3}(\omega)}} - {20{K_{5}(\omega)}}}{\alpha^{3}}} \\ {{H_{4}(\omega)} = \frac{{- 8}j\; {K_{4}(\omega)}}{\alpha^{4}}} \\ {{H_{5}(\omega)} = \frac{16{K_{5}(\omega)}}{\alpha^{5}}} \end{matrix} \right.$

In such a way, the H_(n)(ω) terms have been isolated, by calculating their inverse Fourier transforms we obtain the kernel values of the system km.

Once the kernel values h_(n)(t) and the input signal x(t) are known, it is thus possible to determine the value of the output signal y(t) of the non-linear time invariant system 1 using (3).

In this manner it is possible to define the non-linear characteristics of the non-linear time invariant system 1. This allows the output signal of a non-linear system to be obtained, once the input signal is known, with excellent degree of approximation, and therefore it allows to artificially emulate the behavior of the non-linear time invariant system 1, for example by means of a data processing system. If the non-linear system 1 is a musical instrument, for example a particular specimen violin like a Stradivari or else, it is possible to obtain its characteristics by mechanically exciting the bridge of the violin with a stress having a sine sweep pattern, recording the produced sound and applying the aforementioned calculation method.

After having obtained the kernels that characterize the non-linear time invariant system defined by that particular specimen of violin, it is possible to artificially reproduce any sound signal in the same way as it would be played by that particular specimen of violin, simply recording the input signal of another musical instrument of the same type. For example, in the case of violins, it is possible to record the stresses caused in the bridge of any violin when a music piece is played, and to apply the characteristics of the particular specimen of violin aforementioned to the signal so recorded to obtain as a result the music piece with the same “sound color” as it would be obtained with that particular specimen of violin.

In general, regardless of the non-linear system, once the kernels characterizing the system have been obtained, it is possible to emulate operation of the system by applying to any input signal x′(t) the Volterra diagonal series expansion to obtain the output signal y′(t) that would be obtained by the system in question.

However, it should be noted that even though the sine sweep theoretically follows the proprieties reported further on and already utilized in the theoretical formulation of the method, it is necessary to realize that these postulates could not practically be exactly confirmed.

As far as the sine sweep properties are concerned, we wrote:

$\begin{matrix} \left\{ \begin{matrix} {{F^{- 1}\left\lbrack {{X(\omega)}\overset{\_}{X(\omega)}} \right\rbrack} \cong {\delta \left( {t - \tau_{1}} \right)}} \\ {{F^{- 1}\left\lbrack {\frac{X\left( \frac{\omega}{2} \right)}{2}\overset{\_}{X(\omega)}} \right\rbrack} \cong {\delta \left( {t - \tau_{2}} \right)}} \\ {{F^{- 1}\left\lbrack {\frac{X\left( \frac{\omega}{3} \right)}{3}\overset{\_}{X(\omega)}} \right\rbrack} \cong {\delta \left( {t - \tau_{3}} \right)}} \\ {{F^{- 1}\left\lbrack {\frac{X\left( \frac{\omega}{4} \right)}{4}\overset{\_}{X(\omega)}} \right\rbrack} \cong {\delta \left( {t - \tau_{4}} \right)}} \\ {{F^{- 1}\left\lbrack {\frac{X\left( \frac{\omega}{5} \right)}{5}\overset{\_}{X(\omega)}} \right\rbrack} \cong {\delta \left( {t - \tau_{5}} \right)}} \end{matrix} \right. & (17) \end{matrix}$

The first equation in (17) states that by convolving a sine sweep, e.g. of 15 seconds from 20 Hz to 48 kHz, with its inverse, it results into a waveform of the Dirac Delta type. This result is always verified as shown in FIG. 11. The amplitude diagram of the frequency response shows a flat spectrum and also the waveform has a shape which can be compared to a Dirac Delta.

The second equation in (17) states that by convolving the aforementioned inverse sine sweep with a sine sweep of 15 seconds between 40 Hz and 96 kHz should equally obtain the Dirac Delta. FIG. 12 shows how this expectation in this case failed to meet (the problem is not caused by aliasing limitation, since all the examples follow the Shannon theorem). Even if the amplitude diagram of the frequency response is flat, the shape of the waveform differs significantly from a Dirac Delta shape. This mismatch is due only to a phase distortion of the harmonic components of the signal, since the amplitude diagram of the frequency response is correct, i.e. it is flat.

This problem arises in practice every time someone relies on equations (17). The phase distortion provokes a wrong emulation of the non-linear system, FIG. 13.

The planned solution for solving these problems consists, in this case, in designing 4 FIR filters which, once they have been applied to the Dirac Deltas with the aforementioned problems (derived from the second, third, fourth and fifth equations in (17), respectively), are able to “re-align” the phase, bringing back the signal to shapes of the type as shown in FIG. 11.

The method used for calculating these filters follows the method proposed by Nelson-Kirkeby. FIG. 14 shows first the impulse response of the FIR filter designed for correcting the phase problems of the signal shown in FIG. 12, and then the Dirac Delta obtained after the phase correction. Once the four corrective filters have been calculated and applied to the corresponding harmonic responses in equation (16), that is in FIG. 9, it is at last possible to correctly emulate the non-linear system, as shown in FIG. 15. FIG. 16 shows a comparison between the emulation method obtained without the phase correction and with the correction here proposed.

Moreover, it should be noted that, as already explained, in the mathematical treatment a coefficient is applied to the sine sweep, this coefficient describing the amplitude thereof: the coefficient a.

This coefficient highlights that each kernel depends on the amplitude of the test signal. This type of knowledge is fundamental in the study of non-linear systems, since different harmonics are stimulated according to the amplitude of the stimulus represented by the input test signal.

In order to a correct knowledge of such parameter, before measuring the non-linear system, it is necessary to calibrate the measuring chain in such a way that a given output sine sweep amplitude value matches with the same input sine sweep value. This can be obtained for example by connecting in loopback (output connected to input) the acquiring device.

After having calibrated the equipment, it is possible to measure the non-linear system at any amplitude.

Usually having to do with audio signals the signal amplitude is expressed using dBFS, therefore it will be necessary to convert such value to obtain a value by means of the following formula:

$\alpha = 10^{(\frac{{amplitude}\; \_ \; i\; n\; \_ \; d\; B}{20})}$ 

1-10. (canceled)
 11. A method for artificially reproducing an output signal of a non-linear time invariant system comprising the steps of: inserting an input signal of exponential sine sweep type into said non-linear time invariant system; acquiring an output signal of said non-linear time invariant system corresponding to said input signal; obtaining a mathematical function that characterizes said non-linear time invariant system on the basis of said output signal; and applying said mathematical function to a further signal to obtain a still further signal that reproduces the output signal that would be obtained from said non-linear time invariant system if it were driven by said further signal.
 12. A method according to claim 11, wherein said further signal is an input signal detected in a further non-linear time invariant system of the same type of said non-linear time invariant system.
 13. A method according to claim 11 or 12, wherein said mathematical function is calculated on the hypothesis that said output signal could be obtained by means of a Volterra series expansion of said input signal.
 14. A method according to claim 13, and further comprising the step of executing the convolution of said output signal, expressed as a Volterra series expansion of said input signal, with the inverse of said input signal.
 15. A method according to claim 14, and further comprising the step of calculating the Fourier transform of said convolution.
 16. A method according to claim 15, and further comprising the steps of executing the inverse convolution of said Fourier transform and applying corrective FIR filters to each term of said inverse convolution, said FIR filters being calculated by means of the Nelson-Kirkeby method.
 17. A method according to claim 16, and further comprising the step of calculating the kernels of said Volterra series expansion using said convolution.
 18. A method according to claim 17, and further comprising the step of determining said mathematical function of said non-linear time invariant system using said kernels.
 19. A method according to claim 11 or 12, wherein an acquiring device is used for said acquiring step and an output of said acquiring device is connected in a feedback loop with an input of said acquiring device.
 20. A method according to claim 11 or 12, wherein said non-linear time invariant system is a musical instrument. 